home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / ien / ien-23 < prev    next >
Text File  |  1988-12-01  |  11KB  |  233 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                                                             Jan 23, 1978
  7.                                                             Danny  Cohen
  8. IEN: 23
  9. Notebook Section 2.3.3.7
  10.  
  11.  
  12.  
  13.  
  14.                    On Names, Addresses and Routings 
  15.                    --------------------------------
  16.  
  17.          
  18.  
  19. DESTINATIONs  and  SOURCEs   of   communication   have   names.    These
  20. destinations   and   sources  are  processes  which  exist  outside  the
  21. communication subnet (e.g., in HOSTs) or inside it (e.g.,  in  GATEWAYs,
  22. NET-NODEs, etc).
  23.  
  24. Names are not necessarily unique to destinations.  Certain processes may
  25. have more than a single name.  There are two kinds of names, names which
  26. specify a unique process and names which  specify  a  set  of  processes
  27. (e.g., by capability).
  28.  
  29. A name tells WHO (or WHAT) the process is.
  30.  
  31. It is conceivable the names are arbitrary alphanumeric string suited for
  32. human readability.
  33.  
  34. In addition to names, processes have addresses which indicate WHERE they
  35. are.   Again, it is possible that several different names share the same
  36. address, and also that the same name has several addresses.
  37.  
  38. In order to move messages from sources to  destinations,  not  only  the
  39. address of the destination (i.e., where it is) has to be known, but also
  40. HOW-TO-GET-THERE.  This knowledge is the ROUTING.
  41.  
  42. It is, obviously, possible that the same address can be reached by  more
  43. than one route.
  44.  
  45. These beautiful definitions  of  NAMEs  (what),  ADDRESSes  (where)  and
  46. ROUTING (how-to-get-there) are borrowed from John Shoch.
  47.  
  48. To  summarize:  destinations  and  sources  have   names.    Names   are
  49. "converted"  into addresses, and addresses into routings.  However, none
  50. of the above mappings is a one-to-one correspondence.
  51.  
  52. Names have to be unambiguous within a certain environment.
  53.  
  54. From outside of this  environment,  the  environment,  too,  has  to  be
  55. specified   in  order  to  complete  the  name  specification  i.e.,  to
  56. disambiguate it completely.  This is the essence of hierarchical naming.
  57. A   very  similar  argument  holds  for  addresses.   Within  a  certain
  58. environment addresses are unique, outside of it, the environment has  to
  59.  
  60.                                                     Page   2
  61.  
  62.  
  63.  
  64. be   specified   ("addressed")   too.    Obviously,   environments  have
  65. names/addresses which are unique within some  bigger  super-environment,
  66. out  of  which,  the super-environment has to be specified, too.  And so
  67. on.
  68.  
  69. Note  that  in  general  address  (and  names)  are  hierarchical.   The
  70. non-hierarchical  case  (or  the  "flat" situation) is a special case of
  71. hierarchy, with depth equal to one, and width equal to the total  number
  72. of addresses.
  73.  
  74. The mapping of names  to  addresses  cannot  be  computed,  and  can  be
  75. resolved  only  by  reference  to  directories.   Hence names from which
  76. addresses can be computed are not names in the true sense, but addresses
  77. in disguise.
  78.  
  79. These directories may be  implemented  in  various  ways,  ranging  from
  80. off-line   distributed   directories   (like   paper   based   telephone
  81. directories) to online  centralized  services  (like  411)  even  by  or
  82. utilizing some broadcasting techniques.
  83.  
  84. The sole purpose of addressing is to support routing.  The address which
  85. tells  where  the  destination is, is only important for determining the
  86. routing (i.e., how to get there).
  87.  
  88. The key question is who performs the mapping of addresses into routing.
  89.  
  90. Several avenues can  be  pursued.   (1)  Sources  supplying  the  entire
  91. routing  from  source  to  destination  (source-routing),  or (2) source
  92. supplying only the  name  (or  address)  of  the  destination,  and  the
  93. communication  subsystem performing the routing (communication-routing),
  94. and (3) a hybrid of the above, by the source supplying some intermediate
  95. destinations  along the route, such that the communication subsystem can
  96. perform the routing between these given destinations.
  97.  
  98. Note that (3) is a generalization of both (1) and (2).  If  done  right,
  99. it  should  have the advantages of both, else it may have their combined
  100. disadvantages.
  101.  
  102. There are  too  many  (obvious)  problems  associated  with  a  complete
  103. source-routing,   (1),   which  are  amplified  in  dynamically  changed
  104. networks.  Basically, the  user  is  faced  with  the  need  to  specify
  105. completely  the  routing  whenever a message is sent.  Since most of the
  106. information  needed  for  finding  the  routing  is  originated  in  the
  107. communication  subsystem,  this  is  an  undue  burden  which  should be
  108. minimized.
  109.  
  110. On the other hand the other extreme, the communication-routing, (2) , is
  111. not problem-free either.
  112.  
  113. In the case  of  flat  address-spaces  too  much  knowledge  has  to  be
  114. maintained,  with  all  the  problems  associated with this requirement.
  115. Therefore, it is preferred  to  implement  hierarchical  addressing  and
  116. hierarchical  routing, which matches it in a unique way.  As a matter of
  117.  
  118.                                                     Page   3
  119.  
  120.  
  121.  
  122. fact, it  seems  that  the  most  "natural"  avenue  is  to  follow  the
  123. well-debugged   paradigm   of   the  telephone  system,  and  have  both
  124. hierarchical  names,  which  are  uniquely  mapped   into   hierarchical
  125. addresses.
  126.  
  127. One of the bigger drawbacks of this scheme is that it will  not  support
  128. an application of INTERnet fast facilities in order to expedite INTRAnet
  129. traffic, like using satellite links (which belong to SATnet) in order to
  130. expedite internal coast-to-coast ARPAnet traffic.
  131.  
  132. Since the flat address space is a special case of the hierarchical  one,
  133. we  would  like  to  treat  all address spaces as hierarchical ones, and
  134. consider the argument  of  flat  vs.   hierarchical  as  optimizing  the
  135. depth/width combination.
  136.  
  137. The disadvantage of a big flat name/address subspace (as  opposed  to  a
  138. hierarchical  one)  is that it requires that large table of addresses be
  139. maintained, that names/addresses be cleared before being  put  into  use
  140. and  that  everyone  knows  about  everyone,  a requirement which is not
  141. feasible to fulfill when the dimension of this space keeps increasing.
  142.  
  143. An example for a very flat name space is the social security number,  as
  144. opposed  to  telephone  numbers  and  mailing addresses.  Note that this
  145. space is a subspace of a bigger space which includes also SSNs (or other
  146. unique IDs) of people in other countries.
  147.  
  148. Note that both telephone numbers and mailing addresses  are  a  kind  of
  149. routing  of  the 3rd flavor.  It is supplied by the source, and may have
  150. as much (or as little) information to get to the environment  where  the
  151. next piece of routing is nonambiguous.
  152.  
  153. An example of source-routing, (1), is calling from a centrex system to a
  154. centrex system in another area code.
  155.  
  156. An example of  communication-routing,  (2),  is  the  interHOST  traffic
  157. within the ARPAnet.
  158.  
  159. An example of user-assisted-routing, (3), is an operator-assisted person
  160. to person call without knowing the number.  For example, one has to tell
  161. the communication subsystem (here, a sequence  of  operators)  that  the
  162. other  person is (a) in Massachusetts, (b) in Cambridge, (c) at MIT, and
  163. finally (d) the final  destinations  name.   In  this  case  the  source
  164. supplied   the   sub-destination   "Masachusetts"   (or   617)  but  the
  165. communication system was free to choose the optimal route there.
  166.  
  167. Another example is a call which  is  placed  from  a  military  base  to
  168. another.   Normally  the  AUTOVON  system is used, but many times at the
  169. discretion of the individuals,  they  use  the  AUTOVON  system  to  get
  170. outside  to  the  commercial  network, and back to the destination base,
  171. where the AUTOVON system is used again for the terminal  contact.   This
  172. is   a  example  of  an  INTRAnet  (AUTOVON)  call  which  for  quality,
  173. convenience and similar reasons, uses INTERnet facilities.
  174.  
  175.                                                     Page   4
  176.  
  177.  
  178. Another interesting observation about the telephone systems.   Telephone
  179. addresses  are  of  variable  length.   This  does  not  mean  only that
  180. different addresses may  have  different  lenghts,  but  that  the  same
  181. address may have several lenghts, depending from where it is refered to.
  182. For example inside most  organizations  extensions  may  be  reached  by
  183. dialing  about  4 digits only.  from outside the organization, but still
  184. in  the  neighborhood  7  digits  are  usually  needed,  from  a  larger
  185. neighborhood  it is 8, then 10, and so on.  This is to be expected since
  186. telephone numbers are the basis for the hybrid routing used.   Telephone
  187. numbers  are  parsed  sequentially,  and can traverse hierarchies up and
  188. down because of the prefixes used to indicate the "up"  direction  (like
  189. the 9 for outside, and the 1 for area code).
  190.  
  191. It seems to me that we might like to implement a very similar  structure
  192. for addressing.
  193.  
  194. One way to implement such a user assisted  routing  is  to  implement  a
  195. special  FORWARDER  process (on a well-known PORT), whose function is to
  196. receive messages, retrieve the "next-address" from its data and resubmit
  197. it for transportation to the next sub-destination, while doing the right
  198. things to acknowledgments, duplicates and the like.  These processes  do
  199. not have to be implemented on all systems, but only on a certain subset,
  200. where this capability is needed.  This  would  eliminate  the  need  for
  201. making   all   processes  able  to  handle  variable  length  multilevel
  202. addressing.
  203.  
  204. SUMMARY
  205.  
  206. The address space should be hierarchical, because  it  is  more  general
  207. than  the flat space, and mainly because it may be not practical to have
  208. everyone knowing about all the other participants in this space.
  209.  
  210. The format of the ADDRESS should be made more general (extensible).
  211.  
  212. Routing  which  follows  the  hierarchy  of  the   address   space   has
  213. difficulties in utilizing internet resources for intranet traffic.
  214.  
  215. The distribution of all the knowledge needed to support routing which is
  216. entirely  performed  by the communication subsystem may also turn out to
  217. be impractical.  Relying always on  the  source  to  supply  the  entire
  218. routing has its obvbious problems.
  219.  
  220. Therefore we highly recommend that the hybrid approach will be used.
  221.  
  222. ACKNOWLEDGMENT
  223.  
  224. Recent  discussions  with  John  Shoch  and  David  Boggs  were  a  very
  225. educational  experience for me, and helped me to understand these issues
  226. better.  This note and John Shoch's note on the same subject  (both  are
  227. prepared  for  the  same January 1978 TCP meeting) cover similar issues,
  228. and are basically  in  agreement  about  most  issues.   However,  minor
  229. differences between the them seem to justify their existance separately.
  230.  
  231.  
  232.  
  233.